package com.skivingcloud.admin.sys.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.skivingcloud.admin.sys.entity.SysUser;
import com.skivingcloud.admin.sys.entity.SysUserRole;
import com.skivingcloud.common.utils.PageParameter;

import java.util.List;

/**
 *  服务层。
 *
 * @author skivingcloud
 * @since 2023-08-28
 */
public interface SysUserRoleService extends IService<SysUserRole> {
    
    /**
     * 分页查询
     * @param parameter 参数
     * @return 分页结果
     */
    Page<SysUserRole> queryByPage(PageParameter<SysUserRole> parameter);
    
    /**
     * 查询未设置该角色的用户
     * @param parameter 参数
     * @return 结果
     */
    Page<SysUser> queryNotSetByPage(PageParameter<SysUserRole> parameter);
    
    /**
     * 根据用户id查询用户角色关系
     * @param id 用户id
     * @return 结果
     */
    List<SysUserRole> listByUserId(String id);
}
